import axios from 'axios'

const api = axios.create({
  baseURL: 'http://localhost:8000/api',
  timeout: 10000,
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  }
})

// 请求拦截器
api.interceptors.request.use(
  config => {
    return config
  },
  error => {
    console.error('Request Error:', error)
    return Promise.reject(error)
  }
)

// 响应拦截器
api.interceptors.response.use(
  response => response,
  error => {
    if (error.response) {
      console.error('API Error:', error.response.data)
      return Promise.reject(new Error(error.response.data.detail || '请求失败'))
    }
    console.error('Network Error:', error.message)
    return Promise.reject(new Error('网络连接失败'))
  }
)

export default {
  // 获取热门电影
  getTrendingMovies() {
    return api.get('/movies/trending')
  },

  // 获取电影详情
  getMovieDetails(movieId) {
    return api.get(`/movies/${movieId}`)
  },

  // 获取电影推荐
  getMovieRecommendations(movieId) {
    return api.get(`/movies/${movieId}/recommendations`)
  },

  // 获取评分分布
  getRatingDistribution() {
    return api.get('/analytics/ratings')
  },

  // 获取类型分布
  getGenreDistribution() {
    return api.get('/analytics/genres')
  }
} 